
package com.shycloud.mido.organ.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 会员信息
 *
 * @author lxy
 * @date 2019-02-27 14:10:49
 */
@Data
@TableName("sm_member")
@EqualsAndHashCode(callSuper = true)
public class MemberEntity extends Model<MemberEntity> {

	private static final long serialVersionUID = 1L;
	/** 主键ID */
	@TableId(value = "id", type = IdType.UUID)
	private String id;
	/** 账户（7位唯一标识） */
	private String account;
	/** 用户名 */
	private String username;
	/** 真实姓名 */
	private String realName;
	/** 密码 */
	private String password;
	/** 随机盐 */
	private String salt;
	/** 注册时间 */
	private LocalDateTime regTime;
	/** 昵称 */
	private String showname;
	/** 手机 */
	private String phone;
	/** 首次登录方式 */
	private String firstLoginType;
	/** 会员等级 */
	private Integer level;
	/** 头像 */
	private String avatar;
	/** 创建时间 */
	private LocalDateTime createTime;
	/** 更新时间 */
	private LocalDateTime updateTime;
	/** 状态标记 0-正常,9-锁定 */
	private String lockFlag;
	/** 删除标记 0-正常,1-删除 */
	private String delFlag;
	/** 微信openid */
	@TableField(value = "wx_openid")
	private String wxOpenid;
	/** 微信小程序 openid */
	@TableField(value = "wx_mini_open_id")
	private String wxMiniOpenId;
	/** QQ openid */
	private String qqOpenid;
	@TableField(value = "apple_openid")
	private String appleOpenId;
	/** 登陆次数 */
	private Integer loginSum;
	/** 最后登陆时间 */
	private LocalDateTime loginTime;
	/** 是否微信绑定 0-未绑定,1-已绑定 */
	private String isWxAuth;
	/** 是否QQ绑定 0-未绑定,1-已绑定 */
	private String isQqAuth;
	/** 是否手机认证 默认为手机未认证，默认值0（False） */
	private String isMobileAuth;
	/** 是否实名认证 0-未认证, 1-已认证 */
	private String isIdentify;
	/** 是否平台教师认证 0-未认证, 1-已认证, 2-已申请 */
	private String isTeacher;
	/** 是否机构教师认证 0-未认证, 1-已认证, 2-已申请 */
	private String isOrganTeacher;
	/** 会员积分 */
	private Integer points;
	/** 会员金币 */
	private Integer gold = 0;
	/** 是否注册机构 0-未注册, 1-已注册 */
	private String isInstitution;
	/** 是否完善学生信息 0-未完善, 1-已完善 */
	private String isStudent;
	/** 是否机构员工 0-不是, 1-是 */
	private String isStaff;
	/** 推送用户标识 */
	private String clientId;
	/** 已用打印次数 */
	@TableField(value = "print_amount_used")
	private int printAmountUsed;
	/** 购买的剩余打印次数 */
	@TableField(value = "print_amount_buy")
	private int printAmountBuy;
	/** 赠送的剩余打印次数 */
	@TableField(value = "print_amount_give")
	private int printAmountGive;
	/** 会员经验值 */
	private Integer exp;
	/** 所属机构 ID */
	private Integer orgId;
	/** 运营商 ID */
	private Integer optId;
	/** 本月mp3已使用的下载次数 */
	@TableField(value = "download_mp3_count")
	private Integer downloadMp3Count;
	/** 注册来源 0-新注册用户 1-迁移用户 2-分享注册用户 3-上音社注册用户 */
	private String isOld;
	/** 在线课累计消耗时长 */
	@TableField(value = "accu_online_course_consumed")
	private Integer accuOnlineCourseConsumed;
	/** 学生在当前老师下的可用在线课时间(学生同一时间只能和一个老师绑定) */
	@TableField(value = "online_course_valid_time")
	private Integer onlineCourseValidTime;
	/** 在线课体验时间 */
	@TableField(value = "online_course_trial_time")
	private Integer onlineCourseTrialTime;
	/** 在线课体验状态 0-未领取 1-已领取 */
	@TableField(value = "online_course_trial_status")
	private Integer onlineCourseTrialStatus;
	/** 在线课体验状态 0-未领取 1-已领取 */
	@TableField(value = "online_course_trial_bonus_status")
	private Integer onlineCourseTrialBonusStatus;
	@TableField(value = "mini_status")
	private String miniStatus = "0";
	@TableField(value = "im_userId")
	private String imUserId;

}
